From: Daiki Ueno Date: Wed, 20 Feb 2013 10:10:29 +0000 (+0900) Subject: keyboard: destroy actors when a group is removed X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4702 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=a8f9871725d4bdc5fa0f07a142d217a9eec13d8d;p=gnome-shell.git keyboard: destroy actors when a group is removed We can't reuse key actors since signals connected to them are associated to the original group object. Fix of commit 824fbe09c2a4f59b009a3dd57d40ec752c2efc89. https://bugzilla.gnome.org/show_bug.cgi?id=681735 --- diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js index 615ba7b47..3201249d9 100644 --- a/js/ui/keyboard.js +++ b/js/ui/keyboard.js @@ -412,13 +412,11 @@ const Keyboard = new Lang.Class({ }, _onGroupAdded: function (keyboard, gname) { - if (!(gname in this._groups)) - this._groups[gname] = this._createLayersForGroup(gname); + this._groups[gname] = this._createLayersForGroup(gname); }, _onGroupRemoved: function (keyboard, gname) { - // Since _createLayersForGroup is costly, don't remove the - // actors from _groups, so they can be reused. + delete this._groups[gname]; }, _setActiveLayer: function () {